Lernziele
Wiederholungsfragen
Ein Klick auf den roten Hyperlink zeigt die richtige Lösung.
Welche Aussage ist richtig?
Betrachten Sie die folgende Abbildung. Mit welchem Traversierungsverfahren wurden die folgenden Listen ausgegeben?
Betrachten Sie folgenden Entwurfscode. Welche Funktion hat der Algorithmus bei einem sortierten Binärbaum?
Falls Baum NICHT leer
setze Knoten = Wurzel
Solange Knoten ein rechtes Kind hat
setze Knoten = rechtes Kind
gib Knoten zurück
Falls
gib Nothing zurück
Vertiefungsfragen
Bevor wir mit der eigentlichen Aufgabe beginnen, möchten wir die
Begriffe
'Programmentwurf' und 'Abstraktion' vertiefen. Lösen Sie dazu die Aufgabe
Entwurf.
Wir bauen unser WoerterbuchStandard-Projekt zu einer Professional-Version aus. Das nächste Bild zeigt die erweiterte Benutzerschnittstelle:
Die folgenden Funktionen sind neu:
Aufgaben
Öffnen Sie die Arbeitsmappe WoerterbuchProfessionalSkelett.xls, und machen Sie sich mit ihrem Inhalt vertraut:
Geben Sie folgende Begriffs/Definitions-Paare exakt wie unten abgedruckt ein, und lassen Sie sich die deutsch-englische Liste ausgeben.
kind/child, Baum/Tree, ast/branch
Weshalb erscheint 'Baum' vor 'ast'?
Geben Sie folgende Begriffs/Definitions-Paare exakt wie unten abgedruckt ein, und lassen Sie sich die 'speichern'-Liste ausgeben.
kind/child, wurzel/root, baum/tree
Weshalb erscheint 'baum' vor 'wurzel'?
Nach dem Klicken der Schaltfläche 'letzter Begriff' soll im hellblauen Bereich der letzte Begriff im Wörterbuch und dessen Definition angezeigt werden. Implementieren Sie die Methode OLetzter der Klasse cWörterbuch mit Hilfe der Rekursion.
Welche Knoten muss die Funktion OLetzterRek zurückgeben, wenn man ihr als Argument folgende Teilbäume des unten abgebildeten Baumes übergibt:
Das Thema Inordnungs-Traversierung beschreibt und implementiert die Inordnungs-Traversierung für das Modul cWörterbuch. Geben Sie den unten abgebildeten Baum ein, und verfolgen Sie die Arbeitsweise des Algorithmus mit dem Debugger.
Setzen Sie im Prozedurkopf der Methode ONächster einen Haltepunkt, definieren Sie dann die Überwachungsausdrücke
Knoten.Begriff
ONächster.Begriff
und klicken Sie schliesslich die Schaltfläche 'Liste deutsch-englisch'.
Bei Klicken der Schaltfläche 'Liste englisch-deutsch' soll eine Liste aller Einträge nach den englischen Definitionen sortiert ausgegeben werden. Implementieren Sie diese Funktion. Der Algorithmus arbeitet in zwei Schritten (siehe Bild).
Das Thema Breitentraversierung beschreibt die Implementierung der Breitentraversierung. Geben Sie den abgebildeten Baum ein, und verfolgen Sie die Arbeitsweise des Algorithmus mit dem Debugger.
Setzen Sie im Prozedurkopf der Methode NNächster einen Haltepunkt, definieren Sie dann die Überwachungsausdrücke
Knoten.Begriff
Läufer.Begriff
NNächster.Begriff
und klicken Sie schliesslich die Schaltfläche 'speichern'.